home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / r / real_3d / real3dv3.3b.dms / real3dv3.3b.adf / GUI.LZH / GUI / example.gui < prev    next >
Text File  |  1995-03-25  |  4KB  |  187 lines

  1.  
  2. (
  3. ( GUI Example
  4. (
  5.  
  6. ?& EXAMPLE_GUI NOT ?IF
  7. 1 CONSTANT EXAMPLE_GUI
  8.  
  9. "ui.rpl" LOAD
  10.  
  11. ( Variables
  12.  
  13. VARIABLE exaWindow
  14. VARIABLE exaLoad
  15. VARIABLE exaCancel
  16. VARIABLE exaCheckBox
  17. VARIABLE exaSlider
  18. VARIABLE exaMx
  19. VARIABLE exaString
  20. VARIABLE exaText
  21. VARIABLE exaText2
  22. VARIABLE exaText3
  23.  
  24. 100 STRING sBuf
  25.  
  26. ( this prints given string to aText2 gadget
  27.  
  28. : PrintMsg
  29.     UI_Done SWAP UITX_Text exaText2 FETCH UI_SETATTRS
  30. ;
  31.  
  32.  
  33. ( Callbacks for Gadgets
  34.  
  35. : excbLoad
  36.     100 STRING sValue
  37.     100 STRING sBuffer
  38.  
  39.     UI_Done sValue UIST_String exaString FETCH UI_GETATTRS
  40.  
  41.     sValue "Loading %s" sBuffer SPRINTF
  42.     sBuffer PrintMsg
  43. ;
  44.  
  45. : excbCheck 
  46.     IF
  47.     UI_Done 1 UI_Disabled exaSlider FETCH UI_SETATTRS
  48.     UI_Done 1 UI_Disabled exaMx     FETCH UI_SETATTRS
  49.     UI_Done 1 UI_Disabled exaString FETCH UI_SETATTRS
  50.     UI_Done 1 UI_Disabled exaLoad FETCH UI_SETATTRS
  51.     ELSE
  52.     UI_Done 0 UI_Disabled exaSlider FETCH UI_SETATTRS
  53.     UI_Done 0 UI_Disabled exaMx     FETCH UI_SETATTRS
  54.     UI_Done 0 UI_Disabled exaString FETCH UI_SETATTRS
  55.     UI_Done 0 UI_Disabled exaLoad FETCH UI_SETATTRS
  56.     ENDIF
  57. ;
  58.  
  59. : excbSlider
  60.     "Slider %d" sBuf SPRINTF
  61.     sBuf PrintMsg
  62. ;
  63.  
  64. : excbMx
  65.     "Mutual Exclude %d" sBuf SPRINTF
  66.     sBuf PrintMsg
  67. ;
  68.  
  69. : excbString
  70.     PrintMsg
  71. ;
  72.  
  73. : excbCancel
  74.     exaWindow FETCH UI_DELETE
  75.     FALSE exaWindow STORE
  76. ;
  77.  
  78. ( Callback for Window
  79.  
  80. : excbWindow 
  81.     PARAM
  82.         VARIABLE iMouseY
  83.         VARIABLE iMouseX
  84.         VARIABLE iEvent
  85.     ENDPARAM
  86.  
  87.     UIWM_Move iEvent FETCH = IF
  88.         iMouseY FETCH iMouseX FETCH "Mouse moved to %ld %ld" sBuf SPRINTF
  89.         UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
  90.     ENDIF
  91.  
  92.     UIWM_LMBDown iEvent FETCH = IF
  93.         "Mouse button clicked" sBuf CPY
  94.         UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
  95.     ENDIF
  96.  
  97.     UIWM_LMBUp iEvent FETCH = IF
  98.        "Mouse button released" sBuf CPY
  99.         UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
  100.     ENDIF
  101.  
  102.     UIWM_Close iEvent FETCH = IF
  103.         exaWindow FETCH UI_DELETE
  104.     FALSE exaWindow STORE
  105.     ENDIF
  106. ;
  107.  
  108. ?ENDIF ( EXAMPLE_GUI
  109.  
  110. (
  111. ( Create display elements
  112. (
  113.  
  114. exaWindow FETCH 
  115. ?IF
  116.     "Understood" "Window already opened" GET_KEY DROP
  117. ?ELSE
  118.  
  119.     ( Open a window
  120.  
  121.     UI_Done & excbWindow 0 0 400 200 "RPL Example Window" UI_WINDOW exaWindow STORE
  122.  
  123.     ( create a read-only text
  124.  
  125.     UI_Done 
  126.     "RPL gadgets" UITX_Text
  127.     exaWindow FETCH 0 150 15 100 12 "Header Text:" UI_TEXT exaText STORE
  128.  
  129.     ( create a check box
  130.  
  131.     UI_Done 
  132.     0 UICB_Checked
  133.     exaWindow FETCH & excbCheck 100 30 50 12 "Check Box" UI_CHECKBOX exaCheckBox STORE
  134.  
  135.     ( create a string gadget
  136.  
  137.     UI_Done 
  138.     "spline" UIST_String
  139.     exaWindow FETCH & excbString 100 45 150 12 "String" UI_STRING exaString STORE
  140.  
  141.     ( create a slider gadget
  142.  
  143.     UI_Done 
  144.     0   UISL_Min
  145.     100 UISL_Max
  146.     20  UISL_Level
  147.     exaWindow FETCH & excbSlider 100 60 50 12 "Slider" UI_SLIDER exaSlider STORE
  148.  
  149.     ( create a mutual exlude gadget
  150.  
  151.     5 PARRAY exaLabels
  152.  
  153.     ( initialize string pointer array
  154.     0 "Choice 4" "Choice 3" "Choice 2" "Choice 1" exaLabels PINIT
  155.  
  156.     UI_Done 
  157.     2       UIMX_Active
  158.     exaLabels UIMX_Labels
  159.     exaWindow FETCH & excbMx 100 75 150 12 "Mx" UI_MX exaMx STORE
  160.  
  161.     ( This text gadget shows gadget events
  162.  
  163.     UI_Done 
  164.     "Welcome to RPL" UITX_Text
  165.     1 UITX_Border
  166.     exaWindow FETCH 0 100 105 150 12 "Gadget:" UI_TEXT exaText2 STORE
  167.  
  168.     ( window events are printed here
  169.  
  170.     UI_Done 
  171.     "This is cool" UITX_Text
  172.     1 UITX_Border
  173.     exaWindow FETCH 0 100 130 250 12 "Info:" UI_TEXT exaText3 STORE
  174.  
  175.     ( create button gadgets
  176.  
  177.     UI_Done 
  178.     exaWindow FETCH & excbLoad 20 150 150 12 "Load" UI_BUTTON exaLoad STORE
  179.  
  180.     UI_Done 
  181.     exaWindow FETCH & excbCancel 200 150 150 12 "Cancel" UI_BUTTON exaCancel STORE
  182.     
  183.     ( realize gadgets
  184.     exaWindow FETCH UI_REALIZE
  185.  
  186. ?ENDIF ( exaGuiCreated
  187.